package com.lepinwenhua.roomdemo;

import androidx.lifecycle.LiveData;
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.Query;
import androidx.room.Update;

import java.util.List;

@Dao
public interface FruitDao {

    // 插入操作
    @Insert
    void insert(Fruit fruit);

    // 插入多个水果
    @Insert
    void insertAll(Fruit... fruits);

    // 更新操作
    @Update
    void update(Fruit fruit);

    // 删除操作
    @Delete
    void delete(Fruit fruit);

    // 查询所有水果
    @Query("SELECT * FROM fruits")
    LiveData<List<Fruit>> getAllFruits();

    // 根据ID查询水果
    @Query("SELECT * FROM fruits WHERE id = :id")
    Fruit getFruitById(int id);

    // 根据名称模糊查询
    @Query("SELECT * FROM fruits WHERE name LIKE :name")
    List<Fruit> findFruitsByName(String name);

    // 删除所有水果
    @Query("DELETE FROM fruits")
    void deleteAllFruits();
}

